﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Capa_Entidad;
namespace Acceso_Datos.Clases_DAO
{
    public class clsEspecialidadDAO
    {
        private BDClinicaEntities ContextoDeObjs = new BDClinicaEntities();
        public bool Insertar(GEN_ESPECIALIDAD Obj)
        {
            try
            {
                ContextoDeObjs.AddObject("GEN_ESPECIALIDAD", Obj);
                ContextoDeObjs.SaveChanges();
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
        public bool Modificar(GEN_ESPECIALIDAD obj)
        {

            try
            {
                ContextoDeObjs.AttachTo("GEN_ESPECIALIDAD", obj);
                ContextoDeObjs.ObjectStateManager.ChangeObjectState(obj, System.Data.EntityState.Modified);
                ContextoDeObjs.SaveChanges();
            }
            catch (Exception)
            {
                return false;

            }
            return true;
        }
        public bool Eliminar(GEN_ESPECIALIDAD obj)
        {
            try
            {
                ContextoDeObjs.AttachTo("GEN_ESPECIALIDAD", obj);
                ContextoDeObjs.DeleteObject(obj);
                ContextoDeObjs.SaveChanges();
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
        public List<GEN_ESPECIALIDAD> listar()
        {
            List<GEN_ESPECIALIDAD> lista = new List<GEN_ESPECIALIDAD>();
            try
            {
                var q = from c in ContextoDeObjs.GEN_ESPECIALIDAD
                        select c;
                lista = q.ToList();
                return lista;
            }
            catch (Exception) {
                return null;
            }
        }
        public List<GEN_ESPECIALIDAD> listarPorTipoServicio(int? idTipoServicio) {
            List<GEN_ESPECIALIDAD> lista = new List<GEN_ESPECIALIDAD>();
            try
            {
                var q = from c in ContextoDeObjs.GEN_ESPECIALIDAD
                        from b in ContextoDeObjs.GEN_SERVICIO
                        where c.ESP_ID_ESPECIALIDAD==b.ESP_ID_ESPECIALIDAD &&
                        b.TIS_ID_TIPO==idTipoServicio
                        select c;
                lista = q.ToList();
                return lista;
            }
            catch (Exception)
            {
                return null;
            }
        }
    }
}
